<html>
    <head>
        <title>Wikipedia today's featured article/picture feed generator</title>
        <style type="text/css">
            h2 {
                font-family: Constantia, "DejaVu Serif", Georgia, serif;
                background-color: #e0e0e0;
                padding: 5px;
                margin: 10px 20px 10px 0px;
            }
            body {
                font-family: Calibri, "DejaVu Sans", Verdana, sans-serif;
            }
        </style>
    </head>
    <body>
        <h2>About the feed generator</h2>

        <p>The wikipedia today's featured article/picture feed generator does exactly that. Generate a rss/atom feed for the
        featured article and featured picture.</p>

        <p>You can access the feed in the following way:</p>
        <!--
        <ul>
            <li><a href="http://wp-tfap.appspot.com/?feed=tfa&type=rss2">http://wp-tfap.appspot.com/?feed=tfa&type=rss2</a> - Featured article as rss feed (<a href="http://feedvalidator.org.li.sabren.com/check.cgi?url=http%3A//wp-tfap.appspot.com/%3Ffeed%3Dtfa%26type%3Drss2">validate</a>).</li>
            <li><a href="http://wp-tfap.appspot.com/?feed=tfa&type=atom">http://wp-tfap.appspot.com/?feed=tfa&type=atom</a> - Featured article as atom feed (<a href="http://feedvalidator.org.li.sabren.com/check.cgi?url=http%3A//wp-tfap.appspot.com/%3Ffeed%3Dtfa%26type%3Datom">validate</a>).</li>
            <li><a href="http://wp-tfap.appspot.com/?feed=tfp&type=rss2">http://wp-tfap.appspot.com/?feed=tfp&type=rss2</a> - Featured picture as rss feed (<a href="http://feedvalidator.org.li.sabren.com/check.cgi?url=http%3A//wp-tfap.appspot.com/%3Ffeed%3Dtfp%26type%3Drss2">validate</a>).</li>
            <li><a href="http://wp-tfap.appspot.com/?feed=tfp&type=atom">http://wp-tfap.appspot.com/?feed=tfp&type=atom</a> - Featured picture as atom feed (<a href="http://feedvalidator.org.li.sabren.com/check.cgi?url=http%3A//wp-tfap.appspot.com/%3Ffeed%3Dtfp%26type%3Datom">validate</a>).</li>
        </ul>
        <p>Or, if you prefer using feed burner feeds, you can use the following:</p>
        -->
        <ul>
            <li><a href="http://feeds2.feedburner.com/WikipediaTodaysFeaturedArticle">Featured article feed</a></li>
            <li><a href="http://feeds2.feedburner.com/WikipediaTodaysFeaturedPicture">Featured picture feed</a></li>
        </ul>

        <p>The code is now available on google code - <a href="http://code.google.com/p/wp-tfap/">wp-tfap project on google code</a>.</p>

        <h2>How it works</h2>
        
        <p>The feed generator works by screen scraping the wikipedia main page. It is developed in python using the google
        app engine and hosted by google's appstore at appspot.com. It uses django templates to generate the feeds. To avoid
        downloading the main page every time a request is made, the main page is downloaded once per day and stored in the
        memcache. This results in two requests per day - one for the featured article and one for the featured picture.</p>

        <p>Initially I wanted to use a cron like functionality to fetch the main page at midnight UTC, generate and store
        the xml files for feeds to serve them statically for the rest of the day. But google app engine doesn't seem to such
        a functionality. Hence the check to see if the feed is more than a day old.</p>

        <h2>Known issues</h2>

        <ul>
            <li>When the featured picture contains an ogg video, the javascript related to the video is not included in the feed. This means that you have to go to wikipedia to watch the video.</li>
        </ul>

        <h2>Contact</h2>

        <p>Developer: Balachandra Krishnamurthy (Bala)</p>
        <p>Email: bkbsub@d.com (d = gmail).</p>

        <h2>Changes</h2>
        <ul>
            <li>January 08, 2009 - Added exception handling and printing of a basic error feed when something bad happens.</li>
            <li>December 29, 2008 - Switched to use Memcache API instead of Datastore API (per discussion with antrix).</li>
            <li>December 26, 2008 - Validated feeds :). Also used django templates instead of kid templates.</li>
            <li>December 26, 2008 - Added the main page (with disqus comments) instead of spitting out feed.</li>
            <li>December 25, 2008 - Launch.</li>
        </ul>
        <h2>Comments</h2>
        <a name="comments"></a>
        <div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/wp-tfap/embed.js"></script><noscript><a href="http://wp-tfap.disqus.com/?url=ref">View the discussion thread.</a></noscript><a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
    </body>
</html>

